#include "serverModeloRespuesta.h"

ModeloRespuesta::ModeloRespuesta() {
	codigo = CODIGO_RESPUESTA_SIN_DATO;
}

char ModeloRespuesta::getCodigo() const {
	return codigo;
}

unsigned int ModeloRespuesta::getLongitud() const {
	return longitud;
}

std::string ModeloRespuesta::getRespuesta() const {
	return respuesta;
}

void ModeloRespuesta::setCodigo(char codigo) {
    this->codigo = codigo;
}

void ModeloRespuesta::setLongitud(int longitud) {
    this->longitud = longitud;
}

void ModeloRespuesta::setRespuesta(std::string respuesta) {
    this->respuesta = respuesta;
}

char* ModeloRespuesta::serializar() {
	int tamanioRespuesta = getRespuesta().size();
	int tamanioDatos = TAMANIO_HEADER_RESPUESTA + tamanioRespuesta;
	char *datos = new char[tamanioDatos];
	char *ptrAux = datos;
	char codigo = getCodigo();

	memcpy(ptrAux, &codigo, sizeof(char));
	ptrAux += sizeof(char);

	memcpy(ptrAux, &tamanioRespuesta, sizeof(int));
	ptrAux += sizeof(int);

	memcpy(ptrAux, respuesta.c_str(), tamanioDatos);
	return datos;
}
